package de.metalcon.gwt.client.pages;

import java.util.ArrayList;

import de.metalcon.gwt.client.HistoryTokenAnalyzer;
import de.metalcon.gwt.client.modules.ADynamicModule;
import de.metalcon.gwt.client.modules.NodeOverviewModule;

public class UserPage extends AModulePage {
	private String userKey;

	private static final int USER_KEY_PARAM = 0;

	public UserPage(String[] parameter) {
		super(parameter);
		this.userKey = getParam(USER_KEY_PARAM);
	}

	@Override
	protected ArrayList<ADynamicModule> getModules() {
		ArrayList<ADynamicModule> list = new ArrayList<ADynamicModule>();
		list.add(new NodeOverviewModule(userKey));
		return list;
	}

	@Override
	public String getHistoryToken() {
		return generateHistoryToken(HistoryTokenAnalyzer.getPageParams());
	}

	public static String generateHistoryToken(String params[]) {
		return HistoryTokenAnalyzer.GeneratePageToken(getHistoryTokenPrefix(), params);
	}

	public static String getHistoryTokenPrefix() {
		return "User";
	}
}